package com.woniu.rabbitMq.feign;

import com.woniu.common.dto.CartDto;
import com.woniu.common.dto.SkuDto;
import com.woniu.common.dto.SpuDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 杜梅杰
 * @Description
 * @Date 2024/5/23 10:57
 */
@FeignClient(name = "zgyd-product")
public interface SkuFeign {

    /**
     * 用skuId查商品
     */
    @PostMapping("/querySkuCount")
    SkuDto querySkuCount(@RequestParam("skuId") Long skuId);

    /**
     * 批量修改商品库存
     */
    @PostMapping("/updateStore")
    void updateStore(@RequestBody List<CartDto> shops);

    /**
     * 根据id查询下面购物车商品
     */
    @PostMapping("/queryCartById")
    CartDto queryCartById(@RequestParam("id") Long id);

    /**
     * 修改购物车商品数量,总金额
     */
    @PostMapping("/updateCartCount")
    void updateCartCount(@RequestParam("id") Long id,
                         @RequestParam("buyNum") Long buyNum,
                         @RequestParam("totalPrice") BigDecimal totalPrice);

    /**
     * 批量修改购物车状态
     */
    @PostMapping("/updateCartStatus")
    void updateCartStatus(@RequestBody List<CartDto> shops);

    /**
     * 查询商品的详细信息
     */
    /**
     * 查询商品的详细信息
     */
    @PostMapping("/querySpu")
    SpuDto querySpu(@RequestParam("spuId") Long spuId);

    /**
     * 用skuId查积分商品数量
     */
    @PostMapping("/queryJifenSkuCount")
    SkuDto queryJifenSkuCount(@RequestParam("skuId")Long skuId);
}
